<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 浏览器组成
        //   1.shell部分
        //   2.内核部分
        //       渲染引擎（语法规则和渲染）
        //       js引擎
        //       其他模块

        // 主流浏览器（有独立研发的内核）
        // IE                trident
        // Chrome          blink
        // firfox           Gecko
        // Opera          presto
        // Safari         webkit


        // js基本语法(variable)
        //   变量声明
        //      声明、赋值分解
        //      单一var
        //   命名规则
        //      1.变量名必须以英文字母 _  $  开头
        //      2.变量名可以包括英文字母 _  $  数字
        //      3.不可以用系统的关键字、保留字作为变量名

        // 值类型---数据类型
        //     不可改变的原始值（栈数据）保存在（stack栈）里面
        //      Number,String,Boolean,undefined,null
        //     栈内存和栈内存赋值的关系是拷贝
        //     引用值（堆数据） 保存在（heap堆）里面
        //      array,object,function ...date  RegExp

        // 练习
        // 1.写出打印结果
        // var a = (10 * 3 - 4 / 2 + 1) % 2,
        //     b = 3;
        // b %= a + 3;
        // console.log(a++);
        // console.log(--b);

        // 2.var a = 123;var b = 234;请交换a,b的值
        // var a = 123;
        // var b = 234;
        // var c = a + b;
        // a = c - a;
        // b = c - a;
        // console.log(a, '', b);
    </script>
</body>

</html>